rm(list = ls())
library(mombf)
library(dplyr)
library(tidyr)
library(ggsci)
library(hdm)
library(glmnet)
library(ggplot2)
library(tidyverse)
library(HDCI)
library(gridExtra)
library(pROC)
library("adapt4pv")
library(readr)
library(dplyr)
library(knitr)
library(stringr)
library(data.table)
library(stringr)
library(readr)
library(tidyverse)
# Load data
DIR <- '/Users/jonnycodd/Downloads/'
raw_train <- read.csv(file.path(DIR, 'realestate_train.csv'))
# Merge indices
pca_offer <- read.csv(file.path(DIR, 'pca_offer.csv'))
pca_demand <- read.csv(file.path(DIR, 'pca_demand.csv'))
# Extract year and month from date in raw_train and raw_test
raw_train$year <- format(raw_train$date, "%Y")
raw_train$month <- format(raw_train$date, "%m")
raw_test$year <- format(raw_test$date, "%Y")
raw_test$month <- format(raw_test$date, "%m")
# Extract year and month from date in pca_offer and pca_demand
pca_offer$year <- format(as.Date(pca_offer$date), "%Y")
pca_offer$month <- format(as.Date(pca_offer$date), "%m")
pca_demand$year <- format(as.Date(pca_demand$date), "%Y")
pca_demand$month <- format(as.Date(pca_demand$date), "%m")
# Merge raw_train with pca_offer and pca_demand
raw_train <- merge(raw_train, pca_offer, by = c("year", "month"), all = FALSE)
raw_train <- merge(raw_train, pca_demand, by = c("year", "month"), all = FALSE)
# Merge raw_test with pca_offer and pca_demand
raw_test <- merge(raw_test, pca_offer, by = c("year", "month"), all = FALSE)
raw_test <- merge(raw_test, pca_demand, by = c("year", "month"), all.x = FALSE)
n_addresses <- 10
dummy_addresses <- T
dummy_subdistricts <- T
dummy_coordinates <- F
square_cordinates <- T
qcuts <- 100
drop_prev_prices <- T
log_price <- T
# Filter addresses
address_counts <- raw_train %>% count(address_simple)
selected_addresses <- address_counts[address_counts$n > n_addresses, ]$address_simple
cat('Train size before', dim(raw_train), ': after', dim(raw_train[raw_train$address_simple %in% selected_addresses, ]))
Train size before 23770 489 : after 23432 489
raw_train <- raw_train[raw_train$address_simple %in% selected_addresses, ]
cat('Train size before', dim(raw_test), ': after', dim(raw_test[raw_test$address_simple %in% selected_addresses, ]))
Train size before 3200 489 : after 2941 489
raw_test <- raw_test[raw_test$address_simple %in% selected_addresses, ]
generate_dummies <- function(train, test, column) {
# Combine train and test
combined_data <- rbind(train, test)
# Creating dummy variables (assuming 'category' is your categorical column)
combined_data_dummy <- model.matrix(~ get(column) - 1, combined_data)
col_names <- stringr::str_replace(colnames(combined_data_dummy), "get\\(column\\)", paste0(column, '_'))
#print(col_names)
colnames(combined_data_dummy) <- col_names
# Splitting back into training and testing sets
train_rows <- nrow(train)
x_train_dummy <- combined_data_dummy[1:train_rows, ]
x_test_dummy <- combined_data_dummy[(train_rows + 1):nrow(combined_data_dummy), ]
# Add the dummy variables to the original dataframes
train <- cbind(train, x_train_dummy)
test <- cbind(test, x_test_dummy)
return(list(train = train, test = test))
}
if (dummy_addresses) {
result <- generate_dummies(raw_train, raw_test, 'address_simple')
raw_train <- result$train
raw_test <- result$test
}
obtain_subdistrict <- function(df) {
df$subdistrict <- sapply(strsplit(df$address_simple, ",\\s*"), function(x) x[[2]])
df[df$subdistrict == 'Dubai', 'subdistrict'] <- sapply(strsplit(df[df$subdistrict == 'Dubai', 'address_simple'], ",\\s*"), function(x) x[[1]])
return(df)
}
if (dummy_subdistricts) {
raw_train <- obtain_subdistrict(raw_train)
raw_test <- obtain_subdistrict(raw_test)
result <- generate_dummies(raw_train, raw_test, 'subdistrict')
raw_train <- result$train
raw_test <- result$test
}
do_quantiles <- function(data, quantiles, prefix) {
cuts <- cut(data, quantiles, include.lowest = T)
cuts <- paste0(prefix, cuts)
return(cuts)
}
combined_data <- rbind(raw_train, raw_test)
# Function to assign subregions
assign_subregion <- function(data, lat_breaks, long_breaks) {
data$subregion <- with(data, paste(
cut(lat, breaks = lat_breaks, labels = FALSE, include.lowest = TRUE),
cut(lon, breaks = long_breaks, labels = FALSE, include.lowest = TRUE),
sep = "_"
))
return(data)
}
if (square_cordinates){
# Lat
lat_quantiles <- unique(quantile(combined_data$lat, 0:qcuts/qcuts))
#combined_data$lat_cuts <- do_quantiles(combined_data$lat, quantiles, 'lat_')
# Lon
lon_quantiles <- unique(quantile(combined_data$lon, 0:qcuts/qcuts))
#combined_data$lon_cuts <- do_quantiles(combined_data$lon, quantiles, 'lon_')
# Assign subregions to both datasets
raw_train <- assign_subregion(raw_train, lat_quantiles, lon_quantiles)
raw_test <- assign_subregion(raw_test, lat_quantiles, lon_quantiles)
result <- generate_dummies(raw_train, raw_test, 'subregion')
raw_train <- result$train
raw_test <- result$test
}
if (dummy_coordinates) {
# Lat
quantiles <- unique(quantile(combined_data$lat, 0:qcuts/qcuts))
raw_train$lat_cuts <- do_quantiles(raw_train$lat, quantiles, 'lat_')
raw_test$lat_cuts <- do_quantiles(raw_test$lat, quantiles, 'lat_')
# Lon
quantiles <- unique(quantile(combined_data$lon, 0:qcuts/qcuts))
raw_train$lon_cuts <- do_quantiles(raw_train$lon, quantiles, 'lon_')
raw_test$lon_cuts <- do_quantiles(raw_test$lon, quantiles, 'lon_')
# Lat
result <- generate_dummies(raw_train, raw_test, 'lat_cuts')
raw_train <- result$train
raw_test <- result$test
# Lon
result <- generate_dummies(raw_train, raw_test, 'lon_cuts')
raw_train <- result$train
raw_test <- result$test
}
test <- raw_test
train <-raw_train
# Keep numeric columns
numeric <- sapply(train, is.numeric)
numeric_test <- sapply(train, is.numeric)
train <- train[, numeric]
test <- test[, numeric]
# Remove columns with 0 variance
test= test[,apply(test, 2, var) > 0] #remove columns with 0 variance
train= train[,apply(train, 2, var) > 0] #remove columns with 0 variance
cat(dim(train), dim(test))
23432 1122 2941 1087
# To have same columns in train and test
train <- train[, intersect(names(train), names(test))]
test <- test[, intersect(names(train), names(test))]
cat(dim(train), dim(test))
23432 1083 2941 1083
# Define create interactions terms function
create_interaction_terms <- function(data, variables) {
# Identify columns that start with "community_"
subdistrict_cols <- grep("^community_", names(data), value = TRUE)
# Loop over these columns and create interaction terms
for(col in subdistrict_cols) {
for(var in variables) {
# Check if the variable exists in the data
if(var %in% names(data)) {
# Create interaction term and add it to the data
data[paste0(col, "_", var)] <- data[, col] * data[, var]
} else {
warning(paste("Variable", var, "not found in dataframe. Skipping."))
}
}
}
# Return the modified dataframe
return(data)
}
# Define the list of variables for interaction
variables_to_interact <- c("beds", "area", "baths", "balcony", "parking", "swimming_pool", "furnished")
# Call the function with your dataframe and the list of variables
train <- create_interaction_terms(train, variables_to_interact)
test <- create_interaction_terms(test, variables_to_interact)
train$area_sq <- train$area^2
test$area_sq <- test$area^2
train$bed_sq <- train$bed^2
test$bed_sq <- test$bed^2
train$baths_sq <- train$baths^2
test$baths_sq <- test$baths^2
# Split into X and Y for scaling
x_train <- select(train, -price)
num_scale <- 1 # to make weights more interpretable
y_train_orig <- train$price/num_scale
if (log_price) {
y_train <- log(train$price/num_scale)
} else{
y_train <- train$price/num_scale
}
x_test <- select(test, -price)
y_test_orig <- test$price/num_scale
if (log_price) {
y_test <- log(test$price/num_scale)
} else{
y_test <- test$price/num_scale
}
# Save unscaled
x_train_unscaled <- x_train
x_test_unscaled <- x_test
# Scale
x_train <- scale(x_train)
x_test <- scale(x_test)
# Create dfs
y_train_df <- data.frame(y_train)
x_train_df <- data.frame(x_train)
colnames(y_train_df)<-'price'
y_test_df <- data.frame(y_test)
x_test_df <- data.frame(x_test)
colnames(y_test_df)<-'price'
# Drop same price variables
if (drop_prev_prices) {
# save data frame with price vars
x_test_df_with_pricevars <- x_test_df
x_train_df_with_pricevars <- x_train_df
# Drop from main dfs
x_test_df <- x_test_df %>% select(-contains("same"))
x_train_df <- x_train_df %>% select(-contains("same"))
}
train_df<-cbind(x_train_df,y_train_df)
test_df<-cbind(x_test_df,y_test_df)
# Regression metrics
rmse <- function(observed, predicted) {
sqrt(mean((observed - predicted) ^ 2))
}
log_rmse <- function(observed, predicted) {
sqrt(mean((log(observed) - log(predicted)) ^ 2))
}
mape <- function(observed, predicted) {
mean(abs((predicted - observed) / observed)) * 100
}
mae <- function(observed, predicted) {
mean(abs(observed - predicted))
}
# Metrics CV
regression_metrics <- function(model, data, y_real, num_scale, y_wout_log) {
pred <- predict(model, newx = as.matrix(data), s = fit.lasso$lambda.min, type = "response")
if (log_price) {
pred <- exp(pred)
y_real <- y_wout_log
}
rmse_value <- rmse(y_real, pred)*num_scale
mape <- mape(y_real, pred)
mae <- mae(y_real, pred)*num_scale
cat('\nRMSE:', rmse_value, 'MAPE:', mape, 'MAE:', mae)
return(list(rmse=rmse_value, mape=mape, mae=mae))
}
# Calculate statistics for y_train
n_obs_train <- length(y_train)
mean_train <- mean(exp(y_train))
quartiles_train <- quantile(as.matrix(exp(y_train)), probs = c(0.25, 0.5, 0.75))
# Calculate statistics for y_test
n_obs_test <- length(y_test)
mean_test <- mean(y_test)
quartiles_test <- quantile(as.matrix(y_test), probs = c(0.25, 0.5, 0.75))
# Create the data frame with the statistics
stats_table <- data.frame(
Dataset = c("y_train", "y_test"),
Observations = c(n_obs_train, n_obs_test),
Mean = c(mean_train, mean_test),
`1st Quartile` = c(quartiles_train[1], quartiles_test[1]),
Median = c(quartiles_train[2], quartiles_test[2]),
`3rd Quartile` = c(quartiles_train[3], quartiles_test[3])
)
stats_table_long <- stats_table %>%
pivot_longer(cols = -Dataset, names_to = "Metric", values_to = "Value")
# Spread the long format table to wide format with one column for y_train and one for y_test
stats_table_wide <- stats_table_long %>%
pivot_wider(names_from = Dataset, values_from = Value)
x_test_df[is.na(x_test_df)] <- 0
x_train_df[is.na(x_train_df)] <- 0
cat(dim(x_train_df))
23432 607
lasso.bic <- function(y,x,extended=FALSE) {
#Select model in LASSO path with best BIC (using LASSO regression estimates)
#Input
# - y: vector with response variable
# - x: design matrix
#
#Output: list with the following elements
# - coef: LASSO-estimated regression coefficient with lambda set via BIC
# - ypred: predicted y
# - lambda.opt: optimal value of lambda
# - lambda: data.frame with bic and number of selected variables for each value of lambda
require(glmnet)
fit <- glmnet(x=x,y=y,family='gaussian',alpha=1)
pred <- cbind(1,x) %*% rbind(fit$a0,fit$beta)
n <- length(y)
p <- colSums(fit$beta!=0) + 1
if (!extended){
bic <- n * log(colSums((y-pred)^2)/length(y)) + n*(log(2*pi)+1) + log(n)*p
} else {
bic <- n * log(colSums((y-pred)^2)/length(y)) + n*(log(2*pi)+1) + log(n)*p + 2*log(choose(ncol(x),p))
}
sel <- which.min(bic)
beta <- c(fit$a0[sel],fit$beta[,sel]); names(beta)[1]= 'Intercept'
ypred <- pred[,sel]
ans <- list(coef=beta,ypred=ypred,lambda.opt=fit$lambda[sel],lambda=data.frame(lambda=fit$lambda,bic=bic,nvars=p))
return(ans)
}
# Fit model
fit.lasso_ebic = lasso.bic(x=as.matrix(x_train_df), y=y_train ,extended = TRUE)
fit.lasso_ebic
$coef
Intercept
1.392875e+01
beds
1.172304e-01
baths
8.750363e-03
area
3.266779e-01
lat
0.000000e+00
lon
-6.181044e-02
balcony
7.467256e-04
parking
0.000000e+00
swimming_pool
0.000000e+00
furnished
5.220621e-03
emirate_n_transactions_shift1m
0.000000e+00
emirate_avg_trans_value_shift1m
0.000000e+00
emirate_std_trans_value_shift1m
0.000000e+00
emirate_offplan_n_transactions_shift1m
0.000000e+00
emirate_offplan_avg_trans_value_shift1m
0.000000e+00
emirate_offplan_std_trans_value_shift1m
0.000000e+00
emirate_ready_n_transactions_shift1m
0.000000e+00
emirate_ready_avg_trans_value_shift1m
0.000000e+00
emirate_n_transactions_shift3m
0.000000e+00
emirate_avg_trans_value_shift3m
6.774713e-03
emirate_std_trans_value_shift3m
0.000000e+00
emirate_offplan_n_transactions_shift3m
1.271755e-03
emirate_offplan_avg_trans_value_shift3m
0.000000e+00
emirate_offplan_std_trans_value_shift3m
0.000000e+00
emirate_ready_n_transactions_shift3m
0.000000e+00
emirate_ready_avg_trans_value_shift3m
0.000000e+00
emirate_n_transactions_shift6m
0.000000e+00
emirate_avg_trans_value_shift6m
0.000000e+00
emirate_std_trans_value_shift6m
0.000000e+00
emirate_offplan_n_transactions_shift6m
7.198477e-03
emirate_offplan_avg_trans_value_shift6m
0.000000e+00
emirate_offplan_std_trans_value_shift6m
0.000000e+00
emirate_ready_n_transactions_shift6m
0.000000e+00
emirate_ready_avg_trans_value_shift6m
0.000000e+00
comm_n_transactions_shift1m
0.000000e+00
comm_avg_trans_value_shift1m
2.086476e-02
comm_std_trans_value_shift1m
0.000000e+00
comm_offplan_n_transactions_shift1m
8.102876e-03
comm_offplan_avg_trans_value_shift1m
1.386578e-03
comm_offplan_std_trans_value_shift1m
0.000000e+00
comm_ready_n_transactions_shift1m
0.000000e+00
comm_ready_avg_trans_value_shift1m
0.000000e+00
comm_ready_std_trans_value_shift1m
-1.275687e-03
comm_n_transactions_shift3m
-2.197993e-03
comm_avg_trans_value_shift3m
1.247664e-02
comm_std_trans_value_shift3m
-4.595408e-05
comm_offplan_n_transactions_shift3m
0.000000e+00
comm_offplan_avg_trans_value_shift3m
0.000000e+00
comm_offplan_std_trans_value_shift3m
0.000000e+00
comm_ready_n_transactions_shift3m
-4.844294e-03
comm_ready_avg_trans_value_shift3m
4.227075e-03
comm_ready_std_trans_value_shift3m
-8.982299e-04
comm_n_transactions_shift6m
0.000000e+00
comm_avg_trans_value_shift6m
0.000000e+00
comm_std_trans_value_shift6m
-7.059834e-03
comm_offplan_n_transactions_shift6m
3.285280e-03
comm_offplan_avg_trans_value_shift6m
-1.728317e-04
comm_offplan_std_trans_value_shift6m
4.375250e-04
comm_ready_n_transactions_shift6m
-6.404557e-03
comm_ready_avg_trans_value_shift6m
1.685503e-02
property_type_Townhouse
1.185102e-02
property_type_Villa
1.544838e-02
community_Jumeirah.Beach.Residence..JBR.
0.000000e+00
community_Jumeirah.Lake.Towers..JLT.
-3.884570e-02
community_Jumeirah.Village.Circle..JVC.
0.000000e+00
completion_status_constructed
-8.709094e-03
completion_status_under.construction
-3.237438e-03
metro_JumeirahLakeTowers
2.471315e-02
metro_DubaiMarina
-1.286495e-02
metro_JumeirahBeachResidence1
0.000000e+00
metro_Dubai.Marina.Mall
0.000000e+00
metro_AirportTerminal
0.000000e+00
hospital_EmiratesHospital
-1.615018e-01
hospital_AsterHospital
0.000000e+00
market_Waitrose
0.000000e+00
market_Carrefour
0.000000e+00
market_Safestway
-2.360374e-02
AED_EUR_price_mean_shift1m
0.000000e+00
AED_GBP_price_mean_shift1m
0.000000e+00
AED_RUB_price_mean_shift1m
0.000000e+00
AED_RUB_price_q75_shift1m
0.000000e+00
AED_JPY_price_mean_shift1m
0.000000e+00
AED_CNY_price_mean_shift1m
0.000000e+00
AED_CAD_price_mean_shift1m
0.000000e+00
AED_CAD_price_q25_shift1m
0.000000e+00
AED_CAD_price_q75_shift1m
0.000000e+00
AED_SAR_price_mean_shift1m
0.000000e+00
AED_SAR_price_q25_shift1m
0.000000e+00
AED_SAR_price_q75_shift1m
0.000000e+00
AED_SAR_price_low_mean_shift1m
0.000000e+00
AED_CHF_price_mean_shift1m
6.990931e-03
USD_BTC_price_mean_shift1m
0.000000e+00
USD_BTC_price_median_shift1m
0.000000e+00
USD_BTC_price_q25_shift1m
0.000000e+00
USD_BTC_price_q75_shift1m
0.000000e+00
USD_BTC_price_high_mean_shift1m
0.000000e+00
USD_ETH_price_mean_shift1m
0.000000e+00
USD_ETH_price_median_shift1m
0.000000e+00
USD_ETH_price_q25_shift1m
-1.723077e-03
USD_ETH_price_q75_shift1m
0.000000e+00
USD_ETH_price_high_mean_shift1m
8.055495e-04
SP_500_price_mean_shift1m
0.000000e+00
SP_500_price_q25_shift1m
0.000000e+00
SP_500_price_q75_shift1m
0.000000e+00
DINV_price_mean_shift1m
0.000000e+00
EMAAR_price_mean_shift1m
0.000000e+00
DEYAAR_price_mean_shift1m
0.000000e+00
AED_EUR_price_mean_shift6m
0.000000e+00
AED_GBP_price_mean_shift6m
0.000000e+00
AED_RUB_price_mean_shift6m
0.000000e+00
AED_RUB_price_median_shift6m
0.000000e+00
AED_RUB_price_q25_shift6m
0.000000e+00
AED_RUB_price_q75_shift6m
0.000000e+00
AED_RUB_price_low_mean_shift6m
0.000000e+00
AED_JPY_price_mean_shift6m
0.000000e+00
AED_CNY_price_mean_shift6m
-2.276814e-03
AED_CAD_price_mean_shift6m
0.000000e+00
AED_SAR_price_mean_shift6m
0.000000e+00
AED_SAR_price_median_shift6m
0.000000e+00
AED_SAR_price_q25_shift6m
0.000000e+00
AED_SAR_price_q75_shift6m
0.000000e+00
AED_SAR_price_low_mean_shift6m
0.000000e+00
AED_CHF_price_mean_shift6m
0.000000e+00
AED_CHF_price_q25_shift6m
0.000000e+00
USD_BTC_price_mean_shift6m
0.000000e+00
USD_BTC_price_q25_shift6m
1.665941e-04
USD_BTC_price_q75_shift6m
0.000000e+00
USD_BTC_price_high_mean_shift6m
0.000000e+00
USD_ETH_price_mean_shift6m
0.000000e+00
USD_ETH_price_median_shift6m
0.000000e+00
USD_ETH_price_q25_shift6m
0.000000e+00
USD_ETH_price_q75_shift6m
0.000000e+00
USD_ETH_price_high_mean_shift6m
0.000000e+00
SP_500_price_mean_shift6m
1.102094e-02
DINV_price_mean_shift6m
0.000000e+00
EMAAR_price_mean_shift6m
0.000000e+00
DEYAAR_price_mean_shift6m
0.000000e+00
DEYAAR_price_q25_shift6m
0.000000e+00
DEYAAR_price_q75_shift6m
0.000000e+00
residential_index_shift1m
0.000000e+00
residential_index_shift3m
0.000000e+00
commercial_index_shift1m
0.000000e+00
commercial_index_shift3m
0.000000e+00
general_index_shift1m
0.000000e+00
housing_water_electricity_gas_other.fuels_shift1m
1.690951e-03
general_index_shift6m
0.000000e+00
housing_water_electricity_gas_other.fuels_shift6m
0.000000e+00
gdp_G.20
0.000000e+00
gdp_G.7
0.000000e+00
gdp_OECD
0.000000e+00
gdp_USA
0.000000e+00
gdp_construction_cost.index
0.000000e+00
gdp_construction_non.residential
0.000000e+00
gdp_construction
-1.057414e-03
gdp_mining_quarrying
0.000000e+00
gdp_real_estate_activities
0.000000e+00
gold_price_shift1m
0.000000e+00
gold_price_change_shift1m
0.000000e+00
petrol_price_shift1m
2.378588e-03
petrol_price_change_shift1m
0.000000e+00
diesel_price_shift1m
0.000000e+00
diesel_price_change_shift1m
0.000000e+00
gasoline_price_shift1m
0.000000e+00
gasoline_price_change_shift1m
0.000000e+00
gold_price_shift3m
0.000000e+00
gold_price_change_shift3m
0.000000e+00
petrol_price_shift3m
9.624082e-03
petrol_price_change_shift3m
0.000000e+00
diesel_price_shift3m
0.000000e+00
diesel_price_change_shift3m
0.000000e+00
gasoline_price_shift3m
4.878052e-03
gasoline_price_change_shift3m
0.000000e+00
date.y
0.000000e+00
PC1_offer
0.000000e+00
PC2_offer
0.000000e+00
PC3_offer
0.000000e+00
PC1_demand
0.000000e+00
PC2_demand
0.000000e+00
PC3_demand
0.000000e+00
address_simple_23.Marina..Dubai.Marina..Dubai
0.000000e+00
address_simple_5242.Towers..Dubai.Marina..Dubai
1.365858e-01
address_simple_ACES.Chateau..JVC.District.11..Jumeirah.Village.Circle..JVC...Dubai
-8.731734e-03
address_simple_Al.Anbar.Tower..Dubai.Marina.Towers..Emaar.6.Towers...Dubai.Marina..Dubai
-3.941788e-03
address_simple_Al.Bateen.Towers..The.Walk..Jumeirah.Beach.Residence..JBR...Dubai
3.647046e-02
address_simple_Al.Dana.Tower..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
-1.549790e-02
address_simple_Al.Fattan.Marine.Towers..Jumeirah.Beach.Residence..JBR...Dubai
-1.581064e-02
address_simple_Al.Majara..Al.Majara..Dubai.Marina..Dubai
2.197385e-02
address_simple_Al.Mesk.Tower..Dubai.Marina.Towers..Emaar.6.Towers...Dubai.Marina..Dubai
6.068184e-03
address_simple_Al.Murjan.Tower..Dubai.Marina.Towers..Emaar.6.Towers...Dubai.Marina..Dubai
-1.986025e-03
address_simple_Al.Sahab.Tower..Al.Sahab.Tower..Dubai.Marina..Dubai
1.419571e-02
address_simple_Al.Seef.Tower..JLT.Cluster.U..Jumeirah.Lake.Towers..JLT...Dubai
1.463509e-03
address_simple_Al.Shera.Tower..JLT.Cluster.E..Jumeirah.Lake.Towers..JLT...Dubai
3.460979e-03
address_simple_Al.Waleed.Paradise..JLT.Cluster.R..Jumeirah.Lake.Towers..JLT...Dubai
-2.642204e-03
address_simple_ALCOVE..JVC.District.11..Jumeirah.Village.Circle..JVC...Dubai
-9.938207e-04
address_simple_Amwaj..Amwaj..Jumeirah.Beach.Residence..JBR...Dubai
-4.878548e-03
address_simple_Arezzo..Tuscan.Residence..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
-6.070771e-04
address_simple_Aria.Residence..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
-2.664151e-05
address_simple_Armada.Tower..Armada.Towers..JLT.Cluster.P..Jumeirah.Lake.Towers..JLT...Dubai
-7.356219e-03
address_simple_Astoria.Residence..JVC.District.11..Jumeirah.Village.Circle..JVC...Dubai
-5.405973e-03
address_simple_Attessa..Marina.Promenade..Dubai.Marina..Dubai
0.000000e+00
address_simple_Aurora..Marina.Promenade..Dubai.Marina..Dubai
2.699794e-03
address_simple_Autumn..Seasons.Community..JVC.District.15..Jumeirah.Village.Circle..JVC...Dubai
-1.930508e-03
address_simple_Avanos.Residence..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
3.797364e-04
address_simple_Azure..Dubai.Marina..Dubai
-2.933300e-03
address_simple_Bahar..Bahar..Jumeirah.Beach.Residence..JBR...Dubai
-3.202360e-03
address_simple_Banyan.Tree.Residences..Jumeirah.Lake.Towers..JLT...Dubai
2.278268e-02
address_simple_Bay.Central..Central.Tower...Bay.Central..Dubai.Marina..Dubai
3.902953e-03
address_simple_Bay.Central..Bay.Central..Dubai.Marina..Dubai
0.000000e+00
address_simple_Bay.Central..Dubai.Marina..Dubai
6.310102e-03
address_simple_Beauport..Marina.Promenade..Dubai.Marina..Dubai
6.635436e-03
address_simple_Belgravia.Heights..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
2.690798e-03
address_simple_Belgravia.Square..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
1.195704e-02
address_simple_Belgravia..Belgravia..JVC.District.11..Jumeirah.Village.Circle..JVC...Dubai
2.267598e-02
address_simple_Belgravia..JVC.District.11..Jumeirah.Village.Circle..JVC...Dubai
8.751414e-03
address_simple_Belgravia..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
1.264194e-02
address_simple_Beverly.Residence..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
9.300463e-03
address_simple_Binghatti.Gate..JVC.District.15..Jumeirah.Village.Circle..JVC...Dubai
-1.879511e-03
address_simple_Binghatti.Gems..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
-4.765416e-03
address_simple_Binghatti.Heights..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
-1.185190e-02
address_simple_Binghatti.Jasmine..JVC.District.15..Jumeirah.Village.Circle..JVC...Dubai
-2.849055e-03
address_simple_Binghatti.Mirage..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_Binghatti.Rose..JVC.District.15..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_Blakely.Tower..Park.Island..Dubai.Marina..Dubai
-2.443851e-03
address_simple_Bloom.Heights..JVC.District.15..Jumeirah.Village.Circle..JVC...Dubai
1.298927e-02
address_simple_Bloom.Towers..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
2.405041e-02
address_simple_Bonaire.Tower..Park.Island..Dubai.Marina..Dubai
0.000000e+00
address_simple_Bonnington.Tower..JLT.Cluster.J..Jumeirah.Lake.Towers..JLT...Dubai
1.511790e-02
address_simple_Botanica.Tower..Dubai.Marina..Dubai
-1.064052e-02
address_simple_Botanica..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
-7.171108e-03
address_simple_Cappadocia..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
-1.125556e-02
address_simple_Catch.Residences..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
1.159711e-02
address_simple_Cayan.Tower..Dubai.Marina..Dubai
2.137342e-02
address_simple_Chaimaa.Avenue.Residences..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
4.797648e-03
address_simple_Chaimaa.Premiere..JVC.District.15..Jumeirah.Village.Circle..JVC...Dubai
1.039678e-03
address_simple_Ciel.Tower..Dubai.Marina..Dubai
2.035603e-02
address_simple_City.Apartments..JVC.District.11..Jumeirah.Village.Circle..JVC...Dubai
1.775862e-03
address_simple_Concorde.Tower..JLT.Cluster.H..Jumeirah.Lake.Towers..JLT...Dubai
-5.087423e-03
address_simple_Continental.Tower..Dubai.Marina..Dubai
-2.100973e-03
address_simple_Crystal.Residence..JVC.District.11..Jumeirah.Village.Circle..JVC...Dubai
2.051882e-03
address_simple_DAMAC.Ghalia..JVC.District.18..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_Damac.Heights..Dubai.Marina..Dubai
3.192481e-02
address_simple_Dar.Al.Jawhara.Residence..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
-1.169806e-03
address_simple_DEC.Tower..DEC.Towers..Dubai.Marina..Dubai
-1.618990e-02
address_simple_DEC.Towers..Dubai.Marina..Dubai
-5.862341e-03
address_simple_Diamond.Views..Diamond.Views..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
-2.074257e-02
address_simple_Dorra.Bay..Dubai.Marina..Dubai
1.185554e-02
address_simple_Dream.Tower..Dream.Towers..Dubai.Marina..Dubai
-1.091182e-02
address_simple_Dream.Towers..Dubai.Marina..Dubai
-8.287119e-03
address_simple_Dubai.Arch.Tower..JLT.Cluster.G..Jumeirah.Lake.Towers..JLT...Dubai
-4.098149e-03
address_simple_Dubai.Marina..Dubai
4.230459e-04
address_simple_Dubai.Star.Tower..JLT.Cluster.L..Jumeirah.Lake.Towers..JLT...Dubai
0.000000e+00
address_simple_Dusit.Princess.Rijas..JVC.District.18..Jumeirah.Village.Circle..JVC...Dubai
7.738611e-03
address_simple_Eaton.Place..JVC.District.15..Jumeirah.Village.Circle..JVC...Dubai
1.043303e-02
address_simple_Elite.Residence..Dubai.Marina..Dubai
0.000000e+00
address_simple_Emirates.Gardens..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
-6.151065e-03
address_simple_Escan.Marina.Tower..Dubai.Marina..Dubai
-1.175404e-02
address_simple_Fairfield.Tower..Park.Island..Dubai.Marina..Dubai
7.543534e-03
address_simple_FIVE.Jumeirah.Village..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
3.092601e-02
address_simple_Florence..Tuscan.Residence..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_Fortunato..JVC.District.11..Jumeirah.Village.Circle..JVC...Dubai
-2.086581e-03
address_simple_Gardenia.Residency..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
6.751887e-03
address_simple_Gardenia..Emirates.Gardens..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
-2.348732e-03
address_simple_Global.Lake.View..JLT.Cluster.E..Jumeirah.Lake.Towers..JLT...Dubai
-2.772989e-03
address_simple_Goldcrest.Executive..JLT.Cluster.C..Jumeirah.Lake.Towers..JLT...Dubai
1.612908e-04
address_simple_Goldcrest.Views..JLT.Cluster.J..Jumeirah.Lake.Towers..JLT...Dubai
0.000000e+00
address_simple_Goldcrest.Views..JLT.Cluster.V..Jumeirah.Lake.Towers..JLT...Dubai
0.000000e+00
address_simple_Green.Lakes..JLT.Cluster.S..Green.Lake.Towers...Jumeirah.Lake.Towers..JLT...Dubai
4.026287e-03
address_simple_Hanover.Square..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
-1.434655e-02
address_simple_Harrington.House..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
5.502065e-03
address_simple_Haven.Villas..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
6.854943e-03
address_simple_Hyati.Avenue..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
2.571173e-03
address_simple_Hyati.Residences..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_Icon.Tower..JLT.Cluster.L..Jumeirah.Lake.Towers..JLT...Dubai
-2.961754e-03
address_simple_Icon.Tower..JLT.Cluster.M..Jumeirah.Lake.Towers..JLT...Dubai
-8.415978e-03
address_simple_Indigo.Tower..JLT.Cluster.D..Jumeirah.Lake.Towers..JLT...Dubai
4.525422e-03
address_simple_Iris.Blue..Dubai.Marina..Dubai
9.236770e-03
address_simple_Joya.Verde.Residences..JVC.District.11..Jumeirah.Village.Circle..JVC...Dubai
1.510212e-05
address_simple_Jumeirah.Bay.X1..JLT.Cluster.X..Jumeirah.Bay.Towers...Jumeirah.Lake.Towers..JLT...Dubai
-4.400445e-03
address_simple_Jumeirah.Beach.Residence..JBR...Dubai
0.000000e+00
address_simple_Jumeirah.Gate.Tower..The.Address.Residences.Jumeirah.Resort.and.Spa..Jumeirah.Beach.Residence..JBR...Dubai
1.048070e-01
address_simple_Jumeirah.Lake.Towers..JLT...Dubai
0.000000e+00
address_simple_Jumeirah.Living.Marina.Gate..Marina.Gate..Dubai.Marina..Dubai
9.638130e-03
address_simple_Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
-1.985220e-04
address_simple_Kensington.Manor..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
-1.234981e-02
address_simple_KG.Tower..Dubai.Marina..Dubai
-3.659382e-03
address_simple_Knightsbridge.Court..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
-1.212669e-02
address_simple_La.Riviera.Apartments..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
5.228971e-03
address_simple_La.Riviera.Azure..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
2.329997e-04
address_simple_La.Riviera.Estate..La.Riviera.Estates..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_La.Riviera.Estates..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
-3.292367e-04
address_simple_La.Riviera..Dubai.Marina..Dubai
-1.978645e-04
address_simple_La.Vie..Jumeirah.Beach.Residence..JBR...Dubai
8.056253e-03
address_simple_Laguna.Tower..JLT.Cluster.A..Jumeirah.Lake.Towers..JLT...Dubai
4.619462e-03
address_simple_Lake.City.Tower..JLT.Cluster.D..Jumeirah.Lake.Towers..JLT...Dubai
-7.749553e-03
address_simple_Lake.Point.Tower..JLT.Cluster.N..Jumeirah.Lake.Towers..JLT...Dubai
-1.490463e-02
address_simple_Lake.Shore.Tower..JLT.Cluster.Y..Jumeirah.Lake.Towers..JLT...Dubai
-8.053676e-03
address_simple_Lake.Terrace..JLT.Cluster.D..Jumeirah.Lake.Towers..JLT...Dubai
6.349078e-03
address_simple_Lake.View.Tower..JLT.Cluster.B..Jumeirah.Lake.Towers..JLT...Dubai
-1.644680e-03
address_simple_Lakeside.Residence..JLT.Cluster.A..Jumeirah.Lake.Towers..JLT...Dubai
1.456767e-03
address_simple_Lavender..Emirates.Gardens..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_Laya.Mansion..JVC.District.15..Jumeirah.Village.Circle..JVC...Dubai
-7.185007e-04
address_simple_Laya.Residences..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
-5.289911e-03
address_simple_Le.Grand.Chateau..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
-5.246315e-03
address_simple_Le.Grand.Chateau..Le.Grand.Chateau..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
-5.917148e-03
address_simple_LIV.Marina..Dubai.Marina..Dubai
2.004249e-02
address_simple_LIV.Residence..Dubai.Marina..Dubai
2.577317e-02
address_simple_Living.Garden..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
-7.235775e-03
address_simple_LOCI.Residences..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_Lolena.Residence..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
-1.615995e-02
address_simple_Lucky.Residences..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
9.118369e-03
address_simple_Luma21..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_Madina.Tower..JLT.Cluster.O..Jumeirah.Lake.Towers..JLT...Dubai
-1.867327e-04
address_simple_Mag.218.Tower..Dubai.Marina..Dubai
-7.915449e-03
address_simple_Mag.Tower..JLT.Cluster.R..Jumeirah.Lake.Towers..JLT...Dubai
0.000000e+00
address_simple_Magnolia..Emirates.Gardens.2..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_Manchester.Tower..Dubai.Marina..Dubai
-1.735046e-02
address_simple_Maple..Emirates.Gardens.2..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
-1.102549e-03
address_simple_Marina.Arcade.Tower..Dubai.Marina..Dubai
1.326800e-02
address_simple_Marina.Crown..Dubai.Marina..Dubai
-8.065205e-03
address_simple_Marina.Diamond..Marina.Diamonds..Dubai.Marina..Dubai
-2.468220e-02
address_simple_Marina.Gate..Marina.Gate..Dubai.Marina..Dubai
0.000000e+00
address_simple_Marina.Heights.Tower..Dubai.Marina..Dubai
5.145436e-03
address_simple_Marina.Opal.Tower..Dubai.Marina..Dubai
-7.546486e-03
address_simple_Marina.Pearl..Dubai.Marina..Dubai
-8.633451e-03
address_simple_Marina.Pinnacle..Dubai.Marina..Dubai
-3.971415e-02
address_simple_Marina.Quays..Marina.Quays..Dubai.Marina..Dubai
2.739246e-02
address_simple_Marina.Residence..Marina.Residence..Dubai.Marina..Dubai
1.898835e-04
address_simple_Marina.Terrace..Dubai.Marina..Dubai
-1.065281e-03
address_simple_Marina.Tower..Dubai.Marina..Dubai
2.085794e-04
address_simple_Marina.View.Tower..Marina.View.Tower..Dubai.Marina..Dubai
-8.569357e-03
address_simple_Marina.Wharf..Marina.Wharf..Dubai.Marina..Dubai
1.908883e-03
address_simple_Marwa.Heights..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
6.705416e-03
address_simple_Masaar.Residence..JVC.District.15..Jumeirah.Village.Circle..JVC...Dubai
-1.376113e-02
address_simple_MBL.Residences..JLT.Cluster.K..Jumeirah.Lake.Towers..JLT...Dubai
0.000000e+00
address_simple_MBL.Royal..JLT.Cluster.K..Jumeirah.Lake.Towers..JLT...Dubai
5.188708e-03
address_simple_MILANO.by.Giovanni.Boutique.Suites..JVC.District.17..Jumeirah.Village.Circle..JVC...Dubai
3.986676e-03
address_simple_Mulberry..Emirates.Gardens.2..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
-8.251617e-04
address_simple_Murjan..Murjan..Jumeirah.Beach.Residence..JBR...Dubai
-1.110257e-02
address_simple_New.Dubai.Gate..JLT.Cluster.A..Jumeirah.Lake.Towers..JLT...Dubai
-1.189413e-02
address_simple_New.Dubai.Gate..JLT.Cluster.Q..Jumeirah.Lake.Towers..JLT...Dubai
-2.050701e-02
address_simple_No..9..Dubai.Marina..Dubai
2.403985e-02
address_simple_Noora.Residence..Noora.Residence..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
-1.026847e-02
address_simple_O2.Residence..JLT.Cluster.O..Jumeirah.Lake.Towers..JLT...Dubai
0.000000e+00
address_simple_O2.Tower..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
1.294377e-03
address_simple_Ocean.Heights..Dubai.Marina..Dubai
1.126105e-02
address_simple_Orchidea.Residence..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
-2.208229e-03
address_simple_Orra.Marina..Dubai.Marina..Dubai
1.767465e-02
address_simple_Oxford.Boulevard..JVC.District.15..Jumeirah.Village.Circle..JVC...Dubai
5.439742e-03
address_simple_Oxford.Residence..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
1.636959e-03
address_simple_Oxford.Residence..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
-6.523699e-04
address_simple_Oxford..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
2.756330e-03
address_simple_Paloma..Marina.Promenade..Dubai.Marina..Dubai
3.825618e-03
address_simple_Pantheon.Boulevard..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
-2.498522e-04
address_simple_Pantheon.Elysee..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
1.435485e-02
address_simple_Pantheon.Elysee..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
1.278168e-02
address_simple_Pantheon.Elysee..JVC.District.15..Jumeirah.Village.Circle..JVC...Dubai
1.115993e-02
address_simple_Park.View.Tower..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
3.244832e-03
address_simple_Park.Vista..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
2.322027e-03
address_simple_Plaza.Residences..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
-2.420364e-03
address_simple_Plazzo.Heights..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
3.373953e-03
address_simple_Princess.Tower..Dubai.Marina..Dubai
-1.501033e-03
address_simple_Pulse.Smart.Residence..JVC.District.11..Jumeirah.Village.Circle..JVC...Dubai
-6.967061e-03
address_simple_Reef.Residence..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
-1.491119e-03
address_simple_Regina.Tower..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
1.252888e-04
address_simple_Rigel.Apartments..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_Rimal..Rimal..Jumeirah.Beach.Residence..JBR...Dubai
-5.461484e-03
address_simple_Rose..Emirates.Gardens..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
-2.471632e-03
address_simple_Roxana.Residence..Roxana.Residences..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_Roxana.Residences..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
5.851169e-04
address_simple_Saba.Tower..JLT.Cluster.Q..Jumeirah.Lake.Towers..JLT...Dubai
0.000000e+00
address_simple_Sadaf..Sadaf..Jumeirah.Beach.Residence..JBR...Dubai
-3.232979e-02
address_simple_Samana.Waves..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
2.020564e-02
address_simple_Sandoval.Garden..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
-7.071653e-03
address_simple_Sanibel.Tower..Park.Island..Dubai.Marina..Dubai
4.727649e-03
address_simple_Se7en.City..Jumeirah.Lake.Towers..JLT...Dubai
-2.842462e-04
address_simple_Seasons.Community..JVC.District.15..Jumeirah.Village.Circle..JVC...Dubai
-1.855114e-02
address_simple_Serenity.Lakes..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
1.147273e-04
address_simple_Shamal.Residences..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
-3.442319e-03
address_simple_Shamal.Residences..Shamal.Residences..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
-7.541812e-04
address_simple_Shamal.Waves..JVC.District.14..Jumeirah.Village.Circle..JVC...Dubai
-5.632858e-03
address_simple_Shams..Shams..Jumeirah.Beach.Residence..JBR...Dubai
0.000000e+00
address_simple_Shemara..Marina.Promenade..Dubai.Marina..Dubai
0.000000e+00
address_simple_Siena..Tuscan.Residence..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_Signature.Livings..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
1.387876e-02
address_simple_Silverene.Tower..Silverene..Dubai.Marina..Dubai
4.662013e-02
address_simple_Skyview.Tower..Dubai.Marina..Dubai
-1.191575e-02
address_simple_Sobha.Daffodil..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_Sparkle.Tower..Sparkle.Towers..Dubai.Marina..Dubai
0.000000e+00
address_simple_Sparkle.Towers..Dubai.Marina..Dubai
0.000000e+00
address_simple_Spica.Residential..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
-8.160924e-03
address_simple_Stella.Maris..Dubai.Marina..Dubai
2.249450e-02
address_simple_Studio.One.Tower..Dubai.Marina..Dubai
4.571366e-02
address_simple_Sulafa.Tower..Dubai.Marina..Dubai
-1.987193e-02
address_simple_Summer..Seasons.Community..JVC.District.15..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_TFG.Marina.Hotel..Dubai.Marina..Dubai
1.198541e-02
address_simple_The.Address.Dubai.Marina..Mall.Hotel...Dubai.Marina..Dubai
4.044759e-02
address_simple_The.Address.Residences.Jumeirah.Resort.and.Spa..Jumeirah.Beach.Residence..JBR...Dubai
5.422643e-02
address_simple_The.Belvedere..Dubai.Marina..Dubai
-9.343114e-03
address_simple_The.Jewel.Tower..The.Jewels..Dubai.Marina..Dubai
-1.444878e-05
address_simple_The.Manhattan..JVC.District.10..Jumeirah.Village.Circle..JVC...Dubai
-2.259756e-02
address_simple_The.Palladium..JLT.Cluster.C..Jumeirah.Lake.Towers..JLT...Dubai
0.000000e+00
address_simple_The.Plaza.Residences..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_The.Point..Dubai.Marina..Dubai
1.504118e-02
address_simple_The.Portman..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
6.280240e-03
address_simple_The.Royal.Oceanic..Dubai.Marina..Dubai
-1.566273e-02
address_simple_The.Sloane..JVC.District.12..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_The.Square.Tower..JVC.District.13..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_The.Torch..Dubai.Marina..Dubai
-1.417420e-02
address_simple_The.Waves.Tower..The.Waves..Dubai.Marina..Dubai
0.000000e+00
address_simple_The.Zen..Dubai.Marina..Dubai
-1.060188e-02
address_simple_Time.Place..Dubai.Marina..Dubai
-1.230353e-02
address_simple_Tower..JVC.District.18..Jumeirah.Village.Circle..JVC...Dubai
0.000000e+00
address_simple_Trident.Bayside..Dubai.Marina..Dubai
-2.394226e-04
address_simple_Trident.Grand.Residence..Dubai.Marina..Dubai
-4.436164e-06
address_simple_Trident.Marinascape.Avant.Tower..Marinascape..Dubai.Marina..Dubai
2.192855e-03
address_simple_V3.Tower..JLT.Cluster.V..Jumeirah.Lake.Towers..JLT...Dubai
-5.955286e-04
address_simple_Vida.Residences.Dubai.Marina..Dubai.Marina..Dubai
7.434269e-02
address_simple_West.Avenue..Dubai.Marina..Dubai
2.152658e-02
address_simple_Wind.Tower..Wind.Towers..Jumeirah.Lake.Towers..JLT...Dubai
-2.223345e-03
address_simple_Yacht.Bay..Dubai.Marina..Dubai
-5.072887e-04
address_simple_Zaya.Hameni..JVC.District.15..Jumeirah.Village.Circle..JVC...Dubai
1.235076e-02
address_simple_Zumurud.Tower..Dubai.Marina..Dubai
2.269544e-03
subdistrict_Bay.Central
1.266340e-02
subdistrict_Dubai.Marina
0.000000e+00
subdistrict_Dubai.Marina.Towers..Emaar.6.Towers.
2.514558e-02
subdistrict_Emirates.Gardens
-1.529090e-02
subdistrict_Emirates.Gardens.2
-2.171232e-02
subdistrict_JLT.Cluster.A
0.000000e+00
subdistrict_JLT.Cluster.C
5.299365e-03
subdistrict_JLT.Cluster.D
0.000000e+00
subdistrict_JLT.Cluster.E
0.000000e+00
subdistrict_JLT.Cluster.J
1.355342e-03
subdistrict_JLT.Cluster.K
4.387227e-02
subdistrict_JLT.Cluster.L
-9.803433e-03
subdistrict_JLT.Cluster.O
-1.441650e-03
subdistrict_JLT.Cluster.Q
-7.686242e-04
subdistrict_JLT.Cluster.R
-6.861743e-03
subdistrict_JLT.Cluster.V
-1.766024e-03
subdistrict_Jumeirah.Beach.Residence..JBR.
5.082180e-02
subdistrict_Jumeirah.Lake.Towers..JLT.
0.000000e+00
subdistrict_Jumeirah.Village.Circle..JVC.
-2.881410e-04
subdistrict_JVC.District.10
0.000000e+00
subdistrict_JVC.District.11
-8.753703e-03
subdistrict_JVC.District.12
0.000000e+00
subdistrict_JVC.District.13
0.000000e+00
subdistrict_JVC.District.14
2.379132e-02
subdistrict_JVC.District.15
0.000000e+00
subdistrict_JVC.District.18
0.000000e+00
subdistrict_Marina.Gate
1.043230e-01
subdistrict_Marina.Promenade
4.301590e-02
subdistrict_Park.Island
8.160722e-03
subdistrict_Seasons.Community
-3.426274e-02
subdistrict_Tuscan.Residence
-1.933549e-02
subregion_10_86
0.000000e+00
subregion_11_62
9.667097e-04
subregion_11_69
-1.147518e-03
subregion_11_78
-1.687498e-02
subregion_11_79
-1.742415e-03
subregion_11_86
0.000000e+00
subregion_12_85
-1.353618e-03
subregion_12_88
1.992666e-02
subregion_13_81
-3.351887e-03
subregion_13_84
0.000000e+00
subregion_13_85
-8.966887e-07
subregion_19_62
-3.295955e-03
subregion_2_71
2.890405e-03
subregion_2_75
-1.036527e-02
subregion_2_76
-1.103718e-02
subregion_20_81
0.000000e+00
subregion_20_87
0.000000e+00
subregion_21_62
8.360478e-04
subregion_21_64
5.029249e-03
subregion_21_71
0.000000e+00
subregion_21_76
0.000000e+00
subregion_21_77
-2.011558e-03
subregion_21_81
9.949987e-04
subregion_21_87
0.000000e+00
subregion_22_69
0.000000e+00
subregion_22_70
-9.036569e-04
subregion_23_64
0.000000e+00
subregion_23_66
0.000000e+00
subregion_23_67
-7.033555e-04
subregion_23_68
2.422741e-04
subregion_23_70
1.586664e-03
subregion_23_71
-3.103037e-04
subregion_25_62
-1.092288e-02
subregion_25_87
0.000000e+00
subregion_27_70
-3.780541e-03
subregion_27_86
-3.217024e-03
subregion_28_11
0.000000e+00
subregion_28_70
-1.465661e-03
subregion_28_80
-7.813082e-04
subregion_29_75
0.000000e+00
subregion_3_61
4.782006e-03
subregion_3_73
0.000000e+00
subregion_30_75
-3.144643e-04
subregion_30_77
0.000000e+00
subregion_30_78
-4.503872e-04
subregion_30_80
0.000000e+00
subregion_30_86
1.709357e-03
subregion_31_76
5.021167e-04
subregion_38_23
0.000000e+00
subregion_4_74
0.000000e+00
subregion_40_11
-6.101521e-04
subregion_40_8
0.000000e+00
subregion_40_9
-2.840928e-03
subregion_41_9
0.000000e+00
subregion_43_17
4.050703e-03
subregion_43_28
-3.125131e-03
subregion_46_1
0.000000e+00
subregion_46_16
2.870146e-03
subregion_47_1
2.463905e-04
subregion_47_9
0.000000e+00
subregion_48_10
3.787755e-02
subregion_49_4
0.000000e+00
subregion_49_9
-9.806529e-04
subregion_50_5
1.255623e-03
subregion_51_23
0.000000e+00
subregion_51_9
0.000000e+00
subregion_52_12
0.000000e+00
subregion_52_13
5.787936e-03
subregion_52_23
5.718137e-04
subregion_53_10
0.000000e+00
subregion_53_9
-6.670680e-04
subregion_54_21
8.184495e-03
subregion_55_13
-4.871672e-04
subregion_55_22
2.948439e-03
subregion_55_23
2.352633e-03
subregion_56_40
0.000000e+00
subregion_57_24
0.000000e+00
subregion_57_26
7.968537e-04
subregion_58_13
0.000000e+00
subregion_58_44
-2.333831e-03
subregion_59_19
1.723636e-03
subregion_59_46
-3.982559e-03
subregion_6_65
-8.645704e-04
subregion_6_66
0.000000e+00
subregion_6_73
0.000000e+00
subregion_60_15
-4.776050e-04
subregion_60_20
0.000000e+00
subregion_60_43
0.000000e+00
subregion_61_16
-2.646675e-03
subregion_61_17
-2.066831e-03
subregion_61_40
1.476913e-03
subregion_62_16
1.476819e-03
subregion_62_45
-2.874632e-04
subregion_63_18
-7.209605e-03
subregion_65_17
-6.981023e-03
subregion_66_19
-3.345142e-03
subregion_66_22
1.465456e-03
subregion_66_52
0.000000e+00
subregion_67_20
0.000000e+00
subregion_67_25
-4.860628e-05
subregion_67_38
0.000000e+00
subregion_67_54
0.000000e+00
subregion_68_54
1.747220e-03
subregion_69_36
-1.924899e-03
subregion_69_57
0.000000e+00
subregion_7_75
3.123773e-03
subregion_70_40
-3.992516e-04
subregion_70_58
5.786484e-04
subregion_71_25
-2.578344e-03
subregion_71_43
-6.152861e-03
subregion_71_58
2.065815e-03
subregion_72_22
-4.723702e-03
subregion_72_45
-6.262334e-03
subregion_73_26
0.000000e+00
subregion_73_46
-6.503690e-03
subregion_74_25
-5.871557e-04
subregion_74_30
-5.209743e-03
subregion_75_28
0.000000e+00
subregion_75_32
-3.588982e-03
subregion_75_47
-5.940828e-03
subregion_76_28
-4.173390e-03
subregion_76_33
-3.825356e-03
subregion_76_35
0.000000e+00
subregion_79_39
0.000000e+00
subregion_80_56
0.000000e+00
subregion_83_52
-6.917576e-04
subregion_85_47
-6.830990e-03
subregion_89_52
-5.482304e-04
subregion_9_84
0.000000e+00
community_Jumeirah.Beach.Residence..JBR._beds
1.255343e-02
community_Jumeirah.Beach.Residence..JBR._area
3.662232e-02
community_Jumeirah.Beach.Residence..JBR._baths
0.000000e+00
community_Jumeirah.Beach.Residence..JBR._balcony
4.822442e-03
community_Jumeirah.Beach.Residence..JBR._parking
0.000000e+00
community_Jumeirah.Beach.Residence..JBR._swimming_pool
0.000000e+00
community_Jumeirah.Beach.Residence..JBR._furnished
0.000000e+00
community_Jumeirah.Lake.Towers..JLT._beds
-5.604464e-03
community_Jumeirah.Lake.Towers..JLT._area
1.824571e-02
community_Jumeirah.Lake.Towers..JLT._baths
-1.633519e-03
community_Jumeirah.Lake.Towers..JLT._balcony
4.228136e-03
community_Jumeirah.Lake.Towers..JLT._parking
-6.753472e-04
community_Jumeirah.Lake.Towers..JLT._swimming_pool
0.000000e+00
community_Jumeirah.Lake.Towers..JLT._furnished
4.164235e-03
community_Jumeirah.Village.Circle..JVC._beds
0.000000e+00
community_Jumeirah.Village.Circle..JVC._area
1.366047e-02
community_Jumeirah.Village.Circle..JVC._baths
1.627607e-02
community_Jumeirah.Village.Circle..JVC._balcony
0.000000e+00
community_Jumeirah.Village.Circle..JVC._parking
-1.130424e-03
community_Jumeirah.Village.Circle..JVC._swimming_pool
-1.978532e-03
community_Jumeirah.Village.Circle..JVC._furnished
0.000000e+00
area_sq
-1.061418e-01
bed_sq
-2.893027e-02
baths_sq
0.000000e+00
$ypred
1 2 3 4 5 6 7 8 9 10 11
13.22859 13.31655 14.34866 12.75356 13.67503 13.18122 13.79200 14.40198 14.06994 13.11478 15.03918
12 13 14 15 16 17 18 19 20 21 22
13.99642 14.11292 14.51888 13.99673 14.37607 13.33334 13.54886 13.90946 13.32649 14.07074 14.29502
23 24 25 26 27 28 29 30 31 32 33
13.32843 13.29574 13.65685 13.47629 13.36969 13.59028 14.45762 13.40180 14.01898 14.51436 14.24418
34 35 36 37 38 39 40 41 42 43 44
13.34489 13.31803 13.86845 13.47890 14.36184 14.22167 14.47377 13.00044 14.38076 13.31501 13.43960
45 46 47 48 49 50 51 52 53 54 55
12.91358 14.01637 13.24901 14.11499 13.68585 13.68807 14.25090 13.35910 15.00127 13.29239 14.09525
56 57 58 59 60 61 62 63 64 65 66
12.88044 13.27600 14.11645 14.31582 13.49985 13.91704 14.25620 14.10779 14.70470 13.68015 14.17593
67 68 69 70 71 72 73 74 75 76 77
13.25054 13.38268 12.85181 14.00066 13.22144 12.96902 14.07724 13.65560 13.38812 13.75262 14.31969
78 79 80 81 82 83 84 85 86 87 88
14.91468 14.11392 13.53300 14.42384 14.23248 13.34530 12.86373 13.80554 14.97704 14.52066 13.56707
89 90 91 92 93 94 95 96 98 99 100
13.57384 13.31012 13.04667 13.27195 12.84466 14.91840 14.64475 14.10732 14.30679 14.07275 13.76089
101 102 103 104 105 106 107 108 109 110 111
13.27414 14.41272 13.69596 13.84184 14.80274 14.23750 12.70953 15.10209 13.14599 12.99095 13.72730
112 113 114 115 116 117 118 119 120 121 122
13.36732 13.76873 14.39684 14.07884 13.59851 14.19553 14.07238 14.37190 14.40686 13.96565 12.96946
123 124 125 126 127 128 129 130 131 132 133
14.21917 14.57760 14.17366 13.08269 14.10350 15.13328 13.17014 13.61034 14.82952 13.32778 13.06038
134 135 136 137 138 139 140 141 142 143 144
13.71798 14.36235 14.12069 13.78328 13.68686 14.07098 13.09131 13.79645 14.35718 12.98359 13.36201
145 147 148 149 150 151 152 153 154 155 156
13.77150 13.28115 14.09931 13.91137 14.75703 13.41778 14.66636 13.22836 13.34163 13.32857 14.22789
157 158 159 160 161 162 163 164 165 166 167
14.30998 12.54107 14.46813 13.80178 14.88551 13.38673 14.48076 12.84144 13.91973 12.88508 14.13334
168 169 170 171 172 173 174 175 176 177 178
14.91674 13.58664 13.59971 14.15971 13.36296 13.11939 14.37190 13.41534 12.77282 14.61830 13.82330
179 180 181 182 183 184 185 186 187 188 189
14.10365 14.05721 14.47325 13.34741 14.20064 13.38427 13.47620 13.14174 13.56526 14.11445 14.93357
190 191 192 193 194 195 196 197 198 199 200
14.07984 14.23881 13.54160 14.35621 13.44156 13.31828 13.43990 14.27417 14.90881 13.02750 13.84983
201 202 203 204 205 206 207 208 209 210 211
14.17918 13.92293 13.07696 14.16745 14.11925 14.43451 13.86808 14.10605 15.29968 12.49115 13.82982
212 213 214 215 216 217 218 219 220 221 222
13.05735 14.23358 13.67062 13.63097 13.66788 13.56420 12.94875 13.86149 13.49385 14.33659 12.77571
223 224 225 226 227 228 229 230 231 232 233
13.70346 13.75909 14.73204 14.50229 13.04882 13.60055 12.90255 13.72083 14.14447 14.30230 13.88014
234 235 236 237 238 239 240 241 242 243 244
14.29980 13.60296 13.70419 14.36087 14.11509 14.00007 13.95561 13.34610 13.64203 14.01114 13.92197
245 246 247 248 249 250 251 252 253 254 255
14.44991 13.47436 14.07332 14.46881 12.91755 13.41408 13.85071 12.89741 14.12205 13.30016 13.33338
256 257 258 259 260 261 262 263 264 265 266
13.40107 13.42488 14.86834 14.01563 13.74322 14.37479 13.82021 13.36865 13.80300 13.27236 13.20218
267 268 269 270 271 272 273 274 275 276 277
13.56651 13.34341 14.09031 14.38738 14.07074 13.21160 14.53917 13.34852 14.48057 13.89927 14.32015
278 279 280 281 282 283 284 285 286 287 288
14.28493 13.23648 13.88498 13.88086 14.23812 13.75031 13.62614 13.94502 13.62458 14.13697 14.53302
289 290 291 292 293 294 295 296 297 298 299
14.03428 13.17443 13.24550 13.85282 14.36957 14.16868 13.20179 14.41239 14.64693 13.59374 13.87839
300 301 302 303 304 305 306 307 308 309 310
13.30772 13.38383 13.51658 14.23692 13.66653 12.84577 12.91523 14.33835 14.13083 13.11684 13.41965
311 312 313 314 315 316 317 318 319 321 322
13.69596 14.93550 13.85099 13.30264 12.81090 13.73600 13.88086 13.40721 12.92486 14.34360 13.83877
323 324 325 326 328 329 330 331 332 333 334
13.37236 13.22598 12.87993 13.37583 13.00495 14.90420 13.12423 14.34068 14.65473 13.39712 14.11552
335 336 337 338 339 340 341 342 343 344 345
13.64913 13.40096 13.80634 13.32115 13.66429 14.16040 14.41644 13.34783 14.20505 14.50483 13.24240
346 347 348 349 350 351 352 353 354 355 356
13.24971 13.55727 14.14217 14.05587 13.51797 14.52592 13.32660 15.10209 13.33747 13.67091 14.20455
357 358 359 360 361 362 363 364 365 366 367
14.07900 13.50961 14.16915 14.05164 13.96902 14.62690 14.19097 15.10209 13.92183 14.87851 14.16216
368 369 370 371 372 373 374 375 376 377 378
14.22568 13.50695 13.35676 13.61195 12.79407 14.86654 14.00764 13.80025 13.77371 14.11499 13.40580
379 380 381 382 383 384 385 386 387 388 389
13.78688 13.76157 13.99940 14.91030 14.11809 13.85153 12.93496 13.80178 13.94068 13.25920 13.64101
390 391 392 393 394 395 396 397 398 399 400
14.79194 13.78623 13.56506 12.41435 14.22866 13.86575 14.02784 12.99118 13.00620 14.09181 13.62345
401 402 403 404 405 406 407 408 409 412 413
13.72710 13.34783 13.52382 14.07161 14.04619 12.55996 13.32243 13.75694 13.38621 14.34742 13.56258
414 415 416 417 418 419 420 421 422 423 424
14.04970 14.24337 14.05820 14.27486 12.87771 14.01540 13.37842 14.88919 14.48482 13.69871 13.33446
425 426 427 428 429 430 431 432 433 434 435
13.14136 13.93143 13.61848 14.07074 14.06605 14.23256 15.07957 14.24552 13.54363 13.25964 13.80494
436 437 439 440 441 442 443 444 445 446 447
13.52714 13.01439 13.35737 12.84842 14.23111 13.21990 13.41012 13.77545 13.81906 14.61597 14.39279
448 449 450 451 452 453 454 455 456 457 458
13.39095 13.38272 14.45605 13.99150 13.34746 15.08834 13.24720 14.47894 13.79471 13.27938 14.08384
459 460 461 462 464 465 466 467 468 469 470
13.04824 13.74953 13.95598 12.82089 13.22344 13.68296 13.64631 13.71729 14.27742 14.21063 14.25623
471 472 473 474 475 476 477 478 479 480 481
14.91074 13.53170 14.17010 13.31885 13.67760 13.97794 13.49272 14.14164 13.86936 13.61090 13.53914
482 483 484 485 486 487 488 489 490 491 492
12.98066 14.05788 14.00554 14.04664 14.34279 14.58851 12.99903 13.19506 13.45807 14.34197 13.35615
493 494 495 496 497 498 499 500 501 502 503
14.34739 14.66001 13.16454 13.93280 13.38508 14.88241 14.49920 14.20552 14.10025 13.32513 13.80877
504 505 506 507 508 509 510 511 512 513 514
12.93971 13.65525 15.13680 12.95281 14.90004 13.65898 14.47389 15.07753 13.07771 13.57117 15.07794
515 516 517 518 519 520 521 522 523 524 525
14.15751 14.41335 14.90420 13.11873 14.64704 13.24557 13.66794 13.47273 13.60918 13.58125 13.41291
526 527 528 529 530 531 532 533 534 535 536
13.19212 14.37316 14.21298 13.70172 13.22162 13.63663 13.98455 14.07178 13.54519 14.26266 14.10350
537 538 539 540 541 542 543 544 545 546 547
14.33899 14.10779 14.20238 13.56653 13.84631 14.15530 15.10996 13.42933 13.46621 14.93121 13.25226
548 549 550 551 552 553 554 555 556 557 558
13.62862 13.86647 13.42450 15.15070 13.51384 13.73283 14.24367 13.92740 13.73143 15.08834 14.28124
559 560 561 562 563 564 565 566 567 568 569
13.90812 13.36832 14.03898 13.24927 13.47400 13.68150 14.26697 13.71834 13.43459 14.17589 12.84753
570 571 572 573 574 575 576 577 578 579 580
12.94134 14.13642 12.55568 14.68551 14.24128 14.04630 14.21766 13.64051 14.49040 12.99762 13.76347
581 582 583 584 585 586 587 588 589 590 591
13.72933 13.71427 13.71500 13.68033 14.06962 13.86601 13.89818 12.92672 13.14467 13.35262 13.72096
592 593 594 595 596 597 598 599 600 601 602
14.78236 13.32818 13.68807 14.05595 14.11499 13.67286 14.22186 13.61446 12.93816 14.07573 13.77124
603 604 605 606 607 608 609 610 611 612 613
13.29845 13.84420 13.75483 14.92065 14.52904 14.71671 14.68598 12.81053 14.13083 13.74298 14.50488
614 615 616 617 618 619 620 621 622 623 624
14.58966 14.33771 12.82580 14.79194 13.45633 14.11808 14.34104 13.29113 13.97067 14.17010 13.78829
625 626 627 628 629 630 631 632 633 635 636
14.15558 14.48226 13.41099 13.35388 14.78534 14.31934 14.23195 12.79456 13.53307 14.41298 14.51922
637 638 639 640 641 642 643 644 645 646 647
14.46716 13.60399 13.67729 13.70665 12.87497 14.24215 13.80581 14.42724 14.71688 13.15268 13.33719
648 649 650 651 652 653 654 655 656 657 658
14.11445 14.13859 13.78391 12.50451 13.66963 13.69409 13.06729 13.35018 13.94806 14.10529 13.38372
659 660 661 662 663 664 665 666 667 668 669
13.02267 13.12077 13.01490 14.45546 14.49359 13.65893 14.16837 14.45801 13.62552 13.47479 14.02941
670 671 672 673 674 675 676 677 678 679 680
14.07367 12.74659 13.55331 13.60745 13.14154 14.52096 14.67663 14.21093 13.27103 14.87430 13.77533
681 682 683 684 685 686 687 688 689 690 691
14.06292 13.06440 14.28837 13.38621 13.21715 13.07584 13.83030 13.31447 14.23873 13.09194 14.02784
692 693 694 695 696 697 698 699 700 701 702
14.22954 13.25692 14.45087 14.65008 13.28115 12.84233 13.31666 13.72726 13.83404 14.20172 14.61936
703 704 705 706 707 708 709 710 711 712 713
13.59969 13.43156 13.31043 14.15466 14.44411 13.16257 14.16421 14.02971 13.55300 13.70419 13.03194
714 715 716 717 718 719 720 721 722 723 724
14.87839 14.18326 13.41905 14.36398 14.30071 14.03949 14.74407 13.64784 13.61911 14.39499 13.27306
725 726 727 728 729 730 731 732 733 734 735
13.72646 13.76669 14.02223 14.60126 14.16837 14.38347 13.00495 14.38781 14.63983 14.23225 13.94025
736 737 738 739 740 741 742 743 744 745 746
13.10254 14.00716 13.32488 14.35990 13.57529 13.99469 13.24608 13.48311 14.91165 13.25766 14.49469
748 749 750 751 752 753 754 755 756 757 758
14.00423 13.56511 14.17707 13.85756 13.81458 14.10249 13.82171 13.60966 13.27380 13.98417 13.66594
759 760 761 762 763 764 765 766 767 768 769
13.22727 13.02631 13.55639 14.39588 13.94723 12.75716 13.24770 13.62101 14.13042 14.05788 14.10100
770 771 772 773 774 775 776 777 778 779 780
14.69417 14.37754 13.33819 14.36388 13.36684 14.91841 13.27414 14.40766 12.93262 13.03369 14.56755
781 782 783 784 785 786 787 788 789 790 791
15.07783 14.49638 12.97924 13.90398 14.96204 13.37045 13.94450 14.64151 13.61444 13.77350 14.90611
792 793 794 795 796 797 798 799 800 801 802
13.54071 14.16014 13.87154 14.61034 14.91074 13.87815 14.07074 13.38508 13.68688 13.32202 14.78758
803 804 805 806 807 808 809 810 811 812 813
14.91772 14.56543 13.28644 14.14090 13.66599 14.13499 14.26634 13.23525 12.81715 14.97574 13.94328
814 815 816 817 818 819 820 821 822 823 824
13.60791 13.79917 13.44010 14.11445 13.82162 13.95743 13.24329 14.90881 14.17918 13.44739 13.58347
825 826 827 828 829 830 831 832 833 834 835
13.41183 14.14280 13.19296 14.22294 14.89127 13.62634 13.69566 13.09624 14.80060 14.16245 14.40766
836 837 838 839 840 841 842 843 844 845 846
13.31756 12.87737 14.39515 13.94106 13.75569 14.48839 13.75638 14.29156 13.20912 12.97762 14.47467
847 848 849 850 851 852 853 854 855 856 857
13.35550 13.43455 14.61669 14.11499 14.64727 14.92852 14.54630 14.54443 13.60444 13.13155 14.24543
858 859 860 861 862 863 864 865 866 867 868
13.29545 13.36631 13.19506 13.80843 15.12799 14.08154 13.27257 13.23747 13.97898 14.24382 13.66794
869 870 871 872 873 874 875 876 877 878 879
12.91106 14.52120 14.49795 13.62276 14.14103 13.68984 14.01187 13.39012 14.08086 13.76107 13.69887
880 881 882 883 884 885 886 887 888 889 890
14.33878 13.33799 14.53565 13.28720 14.02662 14.60228 13.96479 13.80843 13.68550 13.62703 13.99408
891 892 893 894 895 896 897 898 899 900 901
13.08772 13.82549 13.98500 13.76090 13.29338 13.82024 13.15979 13.91828 14.11177 13.01235 14.93112
902 903 904 905 906 907 908 909 910 911 912
14.88924 15.10878 14.88598 14.67151 13.30893 13.90268 13.86954 13.87368 14.01248 13.21519 14.09449
913 914 915 916 917 918 919 920 921 922 923
13.50961 13.96968 13.42125 14.46923 13.75080 14.15971 14.90096 13.32547 13.16166 13.39599 13.69424
924 925 926 927 928 929 930 931 932 933 934
14.94348 13.71720 15.08574 13.58018 12.94926 14.56059 13.29112 14.33004 13.55968 13.37804 14.46935
935 936 937 938 939 940 941 942 943 944 945
12.94926 14.36461 13.49331 13.37622 13.69707 14.10982 13.91209 14.33753 14.94348 13.35884 13.50429
946 947 948 949 950 951 952 953 954 955 956
13.21625 14.60762 14.10532 13.99279 14.42194 13.90301 13.77685 12.94754 13.67071 13.68626 14.60170
957 958 959 960 961 962 963 964 965 966 967
14.09151 13.09009 14.34626 14.86357 14.13693 13.95335 14.38277 13.78256 14.15703 13.76725 14.42041
968 969 970 971 972 973 974 975 976 977 978
12.99041 14.32902 14.55890 14.40777 14.79450 14.17164 13.76133 13.70504 13.59323 12.98910 13.44351
979 980 981 982 983 984 985 986 987 988 989
13.56877 13.37776 14.52472 14.14173 13.42079 13.32042 13.81077 13.29130 13.48722 13.39310 13.95335
990 991 992 993 994 995 996 997 998 999 1000
14.41044 14.43753 13.94411 15.12424 13.93670 13.54831 14.68729 13.76952 14.71698 14.38662 14.89424
1002 1003 1004 1005 1006 1007 1008 1009 1010 1011
13.75012 13.40326 13.61032 13.21077 13.10768 12.91869 13.52866 14.20867 13.27435 14.01476
[ reached getOption("max.print") -- omitted 22432 entries ]
$lambda.opt
[1] 0.0003128941
$lambda
NA
# Lambda
fit.lasso_ebic$lambda.opt
[1] 0.0003128941
# Extract coefficients
coef_lasso_ebic <- fit.lasso_ebic$coef
coef_matrix_ebic <- as.matrix(coef_lasso_ebic)
# Output non zero coefficients
non_zero <- coef_matrix_ebic !=0
coef_table_ebic <- data.frame(Variable = rownames(coef_matrix_ebic)[non_zero], Coefficients = coef_matrix_ebic[non_zero])
coef_table_ebic <- coef_table_ebic[order(-abs(coef_table_ebic$Coefficients)),]
coef_table_ebic$Coefficients <- round(coef_table_ebic$Coefficients, digits = 4)
coef_table_ebic$Coefficients <- format(coef_table_ebic$Coefficients, scientific = FALSE)
# Group prefixes for regression output
coef_table_ebic_output <- coef_table_ebic %>%
mutate(prefix = case_when(
str_detect(Variable, "address_simple_") ~ "Address indicators",
str_detect(Variable, "AED_") ~ "AED exchange rates",
str_detect(Variable, "comm_") ~ "Comm variables",
str_detect(Variable, "community_") ~ "Community indicators",
str_detect(Variable, "emirate_") ~ "Emirate variables",
str_detect(Variable, "area_sq") ~ "Area squared",
str_detect(Variable, "area") ~ "Area",
str_detect(Variable, "balcony") ~ "# Balconys",
str_detect(Variable, "baths_sq") ~ "# Balconys squared",
str_detect(Variable, "bed_sq") ~ "# Beds squared",
str_detect(Variable, "bed") ~ "# Beds",
str_detect(Variable, "furnished") ~ "# Furnished indicator",
str_detect(Variable, "gold") ~ "Gold price",
str_detect(Variable, "metro") ~ "Distance to metro",
str_detect(Variable, "parking") ~ "Parking indicator",
str_detect(Variable, "lon") ~ "Longitude",
str_detect(Variable, "gdp") ~ "GDP",
str_detect(Variable, "hospital") ~ "Distance to hospital",
str_detect(Variable, "subregion") ~ "Region indicators (by geographic coordinates)",
str_detect(Variable, "market") ~ "Distance to grocery store",
str_detect(Variable, "parking") ~ "Parking indicator",
str_detect(Variable, "subdistrict") ~ "Subdistrict indicators",
str_detect(Variable, "swimming_pool") ~ "Swimming pool indicator",
str_detect(Variable, "USD_BTC") ~ "USC-crypto exchange rate",
str_detect(Variable, "USD_ETH") ~ "USC-crypto exchange rate",
str_detect(Variable, "PC1_demand") ~ "PCA 1 demand",
str_detect(Variable, "PC2_demand") ~ "PCA 2 demand",
str_detect(Variable, "PC2_demand") ~ "PCA 3 demand",
str_detect(Variable, "PC1_offer") ~ "PCA 1 offer",
str_detect(Variable, "PC2_offer") ~ "PCA 2 offer",
str_detect(Variable, "PC3_offer") ~ "PCA 3 offer",
str_detect(Variable, "(Intercept)") ~ "(Intercept)",
TRUE ~ "Misc" # For all other cases
))
# Collapse the dataframe to only keep the first instance of each prefix
# and count the number of variables of each type
coef_table_ebic_output$Coefficients <- as.numeric(coef_table_ebic_output$Coefficients)
collapsed_coef_matrix_ebic <- coef_table_ebic_output %>%
group_by(prefix) %>%
summarise(Mean = mean(100*Coefficients),
Min = min(100*Coefficients),
Max = max(100*Coefficients),
Count = n()) %>%
mutate(Mean = round(Mean, 2),
Min = round(Min, 2),
Max = round(Max, 2)) %>%
arrange(desc(Count)) # Sorting by Max in descending order
# Fit model
fit.lasso = cv.glmnet(x=as.matrix(x_train_df), y=y_train, nfolds=10)
fit.lasso
Call: cv.glmnet(x = as.matrix(x_train_df), y = y_train, nfolds = 10)
Measure: Mean-Squared Error
Lambda Index Measure SE Nonzero
min 4.041e-05 100 0.01855 0.0002298 429
1se 2.157e-04 82 0.01877 0.0002370 389
fit.lasso$lambda.min
[1] 4.041183e-05
###Test out of sample
# TEST: RMSE: 330771.3 MAPE: 14.14537 MAE: 186598.
q <- regression_metrics(fit.lasso, x_test_df, y_test, num_scale, y_test_orig)
RMSE: 351815.4 MAPE: 14.31921 MAE: 190308.5
# TRAIN: RMSE: 222874.8 MAPE: 10.37756 MAE: 142418.3
q <- regression_metrics(fit.lasso, x_train_df, y_train, num_scale, y_train_orig)
RMSE: 222038.4 MAPE: 10.32757 MAE: 141756.4
# Extract coefficients
coef_lasso <- predict(fit.lasso, type = "coefficients", s = fit.lasso$lambda.min)
coef_matrix <- as.matrix(coef_lasso)
# Output non zero coefficients
non_zero <- coef_matrix !=0
coef_table <- data.frame(Variable = rownames(coef_matrix)[non_zero], Coefficients = coef_matrix[non_zero])
coef_table <- coef_table[order(-abs(coef_table$Coefficients)),]
coef_table$Coefficients <- round(coef_table$Coefficients, digits = 4)
coef_table$Coefficients <- format(coef_table$Coefficients, scientific = FALSE)
# Group prefixes for regression output
coef_table <- coef_table %>%
mutate(prefix = case_when(
str_detect(Variable, "address_simple_") ~ "Address indicators",
str_detect(Variable, "AED_") ~ "AED exchange rates",
str_detect(Variable, "comm_") ~ "Comm variables",
str_detect(Variable, "community_") ~ "Community indicators",
str_detect(Variable, "emirate_") ~ "Emirate variables",
str_detect(Variable, "area_sq") ~ "Area squared",
str_detect(Variable, "area") ~ "Area",
str_detect(Variable, "balcony") ~ "# Balconys",
str_detect(Variable, "baths_sq") ~ "# Balconys squared",
str_detect(Variable, "bed_sq") ~ "# Beds squared",
str_detect(Variable, "bed") ~ "# Beds",
str_detect(Variable, "furnished") ~ "# Furnished indicator",
str_detect(Variable, "gold") ~ "Gold price",
str_detect(Variable, "metro") ~ "Distance to metro",
str_detect(Variable, "parking") ~ "Parking indicator",
str_detect(Variable, "lon") ~ "Longitude",
str_detect(Variable, "gdp") ~ "GDP",
str_detect(Variable, "hospital") ~ "Distance to hospital",
str_detect(Variable, "subregion") ~ "Region indicators (by geographic coordinates)",
str_detect(Variable, "market") ~ "Distance to grocery store",
str_detect(Variable, "parking") ~ "Parking indicator",
str_detect(Variable, "subdistrict") ~ "Subdistrict indicators",
str_detect(Variable, "swimming_pool") ~ "Swimming pool indicator",
str_detect(Variable, "USD_BTC") ~ "USC-crypto exchange rate",
str_detect(Variable, "PC1_demand") ~ "PCA 1 demand",
str_detect(Variable, "PC2_demand") ~ "PCA 2 demand",
str_detect(Variable, "PC2_demand") ~ "PCA 3 demand",
str_detect(Variable, "PC1_offer") ~ "PCA 1 offer",
str_detect(Variable, "PC2_offer") ~ "PCA 2 offer",
str_detect(Variable, "PC3_offer") ~ "PCA 3 offer",
str_detect(Variable, "(Intercept)") ~ "(Intercept)",
TRUE ~ "Misc" # For all other cases
))
# Collapse the dataframe to only keep the first instance of each prefix
# and count the number of variables of each type
coef_table$Coefficients <- as.numeric(coef_table$Coefficients)
collapsed_coef_matrix <- coef_table %>%
group_by(prefix) %>%
summarise(Mean = mean(100*Coefficients),
Min = min(100*Coefficients),
Max = max(100*Coefficients),
Count = n()) %>%
mutate(Mean = round(Mean, 2),
Min = round(Min, 2),
Max = round(Max, 2)) %>%
arrange(desc(Count)) # Sorting by Max in descending order
# Average percentage error
pred <- predict(fit.lasso, newx = as.matrix(x_test_df), s = fit.lasso$lambda.min, type = "response")
if (log_price) {
pred <- exp(pred)
y_test <- y_test_orig
}
compare_df <- data.frame(y_test = y_test, predictions = pred)
compare_df$perc_error <- abs((compare_df$y_test-compare_df$s1)/compare_df$y_test)*100
compare_df$error <- abs(compare_df$s1 -compare_df$y_test)
# Calculate the deciles
deciles <- quantile(compare_df$perc_error, probs = seq(0, 1, by = 0.1), na.rm = TRUE)
print(deciles)
0% 10% 20% 30% 40% 50% 60%
6.216556e-03 2.039516e+00 3.911439e+00 6.156523e+00 8.551416e+00 1.100608e+01 1.383982e+01
70% 80% 90% 100%
1.738460e+01 2.192804e+01 2.924770e+01 2.149165e+02
# Prepare data for graphs
test_graph <- data.frame(x_test_unscaled)
test_graph$perc_error <- compare_df$perc_error
test_graph$error <- compare_df$error
test_graph$price <- compare_df$y_test
test_graph
# Graph abs error
plot_abs_error<- ggplot(test_graph, aes(x = price, y = error)) +
theme_minimal() +
geom_point(color = '#1f77b4' ,size = 0.5) + # Scatter plot points
xlab("Price") +
ylab("Absolute Error") +
theme(legend.position="none",
text = element_text(size = 16), # Adjust the font size here
axis.title = element_text(size = 16), # Adjust the title font size
axis.text = element_text(size = 10)) + # Adjust the axis text font size
scale_x_continuous(labels = scales::comma)
plot_abs_error
# Graph prediction error
#Prepare data
test_graph_dt <- test_graph %>% as.data.table
test_graph_dt[, community := 'Dubai Marina']
test_graph_dt<- test_graph_dt %>%
.[community_Jumeirah.Beach.Residence..JBR.==T, community := 'Jumeirah Beach \n Residence (JBR)'] %>%
.[community_Jumeirah.Lake.Towers..JLT.==T, community := 'Jumeirah Lake \n Towers (JLT)'] %>%
.[community_Jumeirah.Village.Circle..JVC.==T, community := 'Jumeirah Village \n Circle (JVC)']
plot_perc_error_community <- ggplot(test_graph_dt[test_graph_dt$perc_error < 100],
aes(y=community, x=perc_error, color=community)) +
geom_violin(aes(fill = community,
fill = after_scale(colorspace::lighten(fill, .2))),
draw_quantiles = c(0.05, 0.25, 0.5, 0.75, 0.95),
size = 0.2, scale='width', colour = "black") +
stat_summary(fun=mean, geom="point", shape=16, size=3, color="black") + # Highlight the mean in red
theme_minimal() +
theme(legend.position="none",
text = element_text(size = 16),
axis.title = element_text(size = 16),
axis.text = element_text(size = 10),
axis.ticks = element_line(size = 0.8),
axis.title.y.left=element_text(color="black", size=14),
axis.text.y.left=element_text(color="black", size=12),
axis.title.y.right=element_text(color="black", size=14),
axis.text.y.right=element_text(color="black", size=14),
axis.text.x=element_text(size=12),
axis.title.x=element_text(size=16),
plot.title = element_text(hjust = 0.5, size = 16, face = "bold")) +
scale_x_continuous(labels = scales::comma) +
labs(y='', x="Prediction Error (%)")
Warning: Duplicated aesthetics after name standardisation: fill
plot_perc_error_community
# Graph percentage error
plot_perc_error<- ggplot(test_graph, aes(x = price, y = perc_error)) +
theme_minimal() +
geom_point(color = '#1f77b4' ,size = 0.5) + # Scatter plot points
xlab("Price") +
ylab("Percentage Error") +
theme(legend.position="none",
text = element_text(size = 16), # Adjust the font size here
axis.title = element_text(size = 16), # Adjust the title font size
axis.text = element_text(size = 10)) + # Adjust the axis text font size
scale_x_continuous(labels = scales::comma)
test_graph$community_var <- test_graph_dt$community
dubai_marina_data <- test_graph %>%
filter(community_var == 'Dubai Marina')
# Graph percentage error for Dubai Marina
plot_perc_error<- ggplot(dubai_marina_data, aes(x = price, y = perc_error)) +
theme_minimal() +
geom_point(color = '#1f77b4' ,size = 0.5) + # Scatter plot points
xlab("Price") +
ylab("Percentage Error") +
theme(legend.position="none",
text = element_text(size = 16), # Adjust the font size here
axis.title = element_text(size = 16), # Adjust the title font size
axis.text = element_text(size = 10)) + # Adjust the axis text font size
scale_x_continuous(labels = scales::comma)
# Summary table
summary_table <- test_graph_dt %>%
group_by(community) %>%
summarise(
Q1 = paste0(round(quantile(perc_error, 0.25, na.rm = TRUE), 2), "%"),
Median = paste0(round(median(perc_error, na.rm = TRUE) , 2), "%"),
Mean = paste0(round(mean(perc_error, na.rm = TRUE), 2), "%"),
Q3 = paste0(round(quantile(perc_error, 0.75, na.rm = TRUE), 2), "%"),
)
# Get community variable
train_dt <- raw_train %>% as.data.table
train_dt[, community := 'Dubai Marina']
train_dt<- train_dt %>%
.[community_Jumeirah.Beach.Residence..JBR.==T, community := 'Jumeirah Beach \n Residence (JBR)'] %>%
.[community_Jumeirah.Lake.Towers..JLT.==T, community := 'Jumeirah Lake \n Towers (JLT)'] %>%
.[community_Jumeirah.Village.Circle..JVC.==T, community := 'Jumeirah Village \n Circle (JVC)']
# Understand high prediction errors
investigate_train <-cbind(exp(y_train_df), address = raw_train$address_simple, subdistrict =raw_train$subdistrict, community = train_dt$community)
investigate_test <-cbind(exp(y_test_df), prediction = pred, test_graph_dt$perc_error, address = raw_test$address_simple, subdistrict =raw_test$subdistrict, community = test_graph_dt$community)
# Caculate mean values by region in train
variables <- c("price")
investigate_train <- investigate_train %>%
group_by(address) %>%
mutate(across(all_of(variables), ~mean(.x, na.rm = TRUE), .names = "mean_{.col}_address")) %>%
ungroup() %>%
group_by(subdistrict) %>%
mutate(across(all_of(variables), ~mean(.x, na.rm = TRUE), .names = "mean_{.col}_sub")) %>%
ungroup() %>%
group_by(community) %>%
mutate(across(all_of(variables), ~mean(.x, na.rm = TRUE), .names = "mean_{.col}_com")) %>%
ungroup()
# Drop duplicates
investigate_train <- select(investigate_train, -variables)
investigate_train <- investigate_train %>%
distinct()
# Merge with test
merged_df <- merge(investigate_test, investigate_train, by.x=c("address", "subdistrict", "community"), by.y=c("address", "subdistrict", "community"), all.x=TRUE)
merged_df$diff_add <- ((merged_df$price - merged_df$mean_price_address)/merged_df$mean_price_address)*100
merged_df$diff_region <- ((merged_df$price - merged_df$mean_price_sub)/merged_df$mean_price_sub)*100
merged_df$diff_com <- ((merged_df$price - merged_df$mean_price_com)/merged_df$mean_price_com)*100